Expand description
Procedural macro for defining global constructor/destructor functions.
This provides module initialization/teardown functions for Rust (like
__attribute__((constructor))
in C/C++) for Linux, OSX, and Windows via
the #[ctor]
and #[dtor]
macros.
This library works and is regularly tested on Linux, OSX and Windows, with both +crt-static
and -crt-static
.
Other platforms are supported but not tested as part of the automatic builds. This library will also work as expected in both
bin
and cdylib
outputs, ie: the ctor
and dtor
will run at executable or library
startup/shutdown respectively.
This library currently requires Rust > 1.31.0
at a minimum for the
procedural macro support.
Attribute Macrosยง
- Marks a function or static variable as a library/executable constructor. This uses OS-specific linker sections to call a specific function at load time.
- Marks a function as a library/executable destructor. This uses OS-specific linker sections to call a specific function at termination time.